package com.qymerge.manage.base.dao;

import com.qymerge.manage.base.ro.MetaBudgetProductRO;
import com.qymerge.manage.core.bean.PageRequest;

import java.util.List;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 *
 * @author Xiao
 * @date 2025/4/29 16:53
 * @version 1.0.0
 */
public interface IMetaBudgetProductDao {

    List list(MetaBudgetProductRO ro, PageRequest pageRequest);

    int total(MetaBudgetProductRO ro);

    MetaBudgetProductRO findOne(Long id);

    List<MetaBudgetProductRO> findAllByParentId(Long id);

    int insert(MetaBudgetProductRO ro);

    int update(MetaBudgetProductRO ro);

    int remove(List<Long> list);

    MetaBudgetProductRO findOneByYearMonthCode(Long budgetId, Integer periodYear, Integer periodMonth, String materialCode);

    int updatePackQuantity(MetaBudgetProductRO ro);
    int updateRevenueAmount(MetaBudgetProductRO ro);
    int updateCostAmount(MetaBudgetProductRO ro);

    int removeByBudgetId(Long id);

}
